/*************************************************************************
 *                                                                       *
 * This file is part of the FreeMAPs distribution.  For full copyright   *
 * information, see COPYRIGHT and COPYING.LESSER.                        *
 *                                                                       *
 * Author:           sqbang                                              *
 * Email:            sqbang@ustc.edu                                     *
 * Date:             2011.12.22                                          *
 *                                                                       *
 *************************************************************************/

namespace FreeMAPs
{

//inline const std::map<std::string, const Variable*>&
//PDEEquationEnsembleStrategy::get_variables() const
//{
//    return d_variables;
//}


//inline const Variable*
//PDEEquationEnsembleStrategy::get_variable_by_name (
//    const std::string& var_name) const
//{
//    std::map<std::string, const Variable*>::const_iterator find = d_variables.find (var_name);
//    FREEMAPS_ASSERT (find != d_variables.end());

//    return find->second;
//}


//inline bool
//PDEEquationEnsembleStrategy::has_variable_by_name (
//    const std::string& var_name) const
//{
//    return (d_variables.count (var_name) > 0);
//}


//#ifdef FREEMAPS_HAVE_SAMRAI
//inline const EquationEnsembleTagAndInitialize*
//PDEEquationEnsembleStrategy::get_tag_and_initialize() const
//{
//    return d_tag_and_initialize;
//}
//#endif


//#ifdef FREEMAPS_HAVE_SAMRAI
//inline EquationEnsembleTagAndInitialize*
//PDEEquationEnsembleStrategy::get_tag_and_initialize()
//{
//    return d_tag_and_initialize;
//}
//#endif


//inline int
//PDEEquationEnsembleStrategy::get_num_of_variables() const
//{
//    return static_cast<int>(d_variables.size());
//}


inline IrregularBoundaryConditions*
PDEEquationEnsembleStrategy::get_irregular_boundary_conditions() const
{
    return d_irregular_bdry_conds;
}


//inline const DiscreteParameters&
//PDEEquationEnsembleStrategy::get_discrete_parameters() const
//{
//    return d_discrete_parameters;
//}


//inline const EquationSystems*
//PDEEquationEnsembleStrategy::get_equation_systems() const
//{
//    return d_equation_systems;
//}


//inline EquationSystems*
//PDEEquationEnsembleStrategy::get_equation_systems()
//{
//    return d_equation_systems;
//}


inline const std::map<std::string, InitializationCondition*> &
PDEEquationEnsembleStrategy::get_init_conditions()const
{
    return d_init_conditions;
}


//inline const std::string&
//PDEEquationEnsembleStrategy::get_mesh_name()const
//{
//    return d_mesh_name;
//}


inline bool
PDEEquationEnsembleStrategy::do_write_character_quantity() const
{
    return d_do_write_character_quantity;
}


//inline const RefinePatch*
//PDEEquationEnsembleStrategy::get_refine_patch() const
//{
//    return d_refine_patch;
//}


} // namespace FreeMAPs
